home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / Mesa-1.2.1 / contrib / gle.2.1 / include / GL / gutil.h next >
Encoding:
C/C++ Source or Header  |  1995-07-05  |  2.3 KB  |  76 lines

  1.  
  2. #ifndef __GUTIL_H__
  3. #define __GUTIL_H__
  4.  
  5. #ifdef __GUTIL_DOUBLE
  6. #define gutDouble double
  7. #else
  8. #define gutDouble float  
  9. #endif
  10.  
  11.  
  12. #ifdef _NO_PROTO        /* NO ANSI C PROTOTYPING */
  13.  
  14. /* Rotation Utilities */
  15. extern void rot_axis_f ();
  16. extern void rot_about_axis_f ();
  17. extern void rot_omega_f ();
  18. extern void urot_axis_f ();
  19. extern void urot_about_axis_f ();
  20. extern void urot_omega_f ();
  21.  
  22. /* double-precision versions */
  23. extern void rot_axis_d ();
  24. extern void rot_about_axis_d ();
  25. extern void rot_omega_d ();
  26. extern void urot_axis_d ();
  27. extern void urot_about_axis_d ();
  28. extern void urot_omega_d ();
  29.  
  30. /* viewpoint functions */
  31. extern void uview_direction_d ();
  32. extern void uview_direction_f ();
  33. extern void uviewpoint_d ();
  34. extern void uviewpoint_f ();
  35.  
  36. #else /* _NO_PROTO */        /* ANSI C PROTOTYPING */
  37.  
  38. /* Rotation Utilities */
  39. extern void rot_axis_f (float omega, float axis[3]);
  40. extern void rot_about_axis_f (float angle, float axis[3]);
  41. extern void rot_omega_f (float axis[3]);
  42. extern void urot_axis_f (float m[4][4], float omega, float axis[3]);
  43. extern void urot_about_axis_f (float m[4][4], float angle, float axis[3]);
  44. extern void urot_omega_f (float m[4][4], float axis[3]);
  45.  
  46. /* double-precision versions */
  47. extern void rot_axis_d (double omega, double axis[3]);
  48. extern void rot_about_axis_d (double angle, double axis[3]);
  49. extern void rot_omega_d (double axis[3]);
  50. extern void urot_axis_d (double m[4][4], double omega, double axis[3]);
  51. extern void urot_about_axis_d (double m[4][4], double angle, double axis[3]);
  52. extern void urot_omega_d (double m[4][4], double axis[3]);
  53.  
  54. /* viewpoint functions */
  55. extern void uview_direction_d (double m[4][4],        /* returned */
  56.                         double v21[3],        /* input */
  57.                         double up[3]);        /* input */
  58.  
  59. extern void uview_direction_f (float m[4][4],        /* returned */
  60.                         float v21[3],        /* input */
  61.                         float up[3]);        /* input */
  62.  
  63. extern void uviewpoint_d (double m[4][4],        /* returned */
  64.                    double v1[3],        /* input */
  65.                    double v2[3],        /* input */
  66.                    double up[3]);        /* input */
  67.  
  68. extern void uviewpoint_f (float m[4][4],        /* returned */
  69.                    float v1[3],        /* input */
  70.                    float v2[3],        /* input */
  71.                    float up[3]);        /* input */
  72.  
  73. #endif /*_NO_PROTO*/
  74.  
  75. #endif /*__GUTIL_H__*/
  76.